1. Field of the Invention
The present invention relates to a system for and a method of generating a gait of a legged mobile robot, and more particularly to a system for and a method of generating or determining a height, in the direction of gravity (the vertical direction), of a body of a legged mobile robot such as a biped robot.
2. Description of the Related Art
Generally, a legged mobile robot comprises of a body (trunk) and articulated legs (leg linkages) each connected to the body by a joint. In a conventional gait generation in a legged mobile robot, the desired body height (in the direction of gravity) has been expressed by a polynomial of time as follows and the body trajectory has been generated or determined based on the solution of the polynomial. ##EQU1## where Z is the desired body height and t is time.
In another conventional technique, the desired body height has been expressed by a polynomial of desired horizontal body displacement and the body height trajectory has been generated or determined based on the solution. Specifically, ##EQU2## where Z is the desired body height and X is the desired fore/aft body displacement.
In the conventional first and second methods mentioned above, the desired distal end (foot) positions/orientations of the legs and the desired body orientation are also expressed using similar polynomials. The desired horizontal body position is determined so as to satisfy the condition of robot dynamics, more specifically to place the ZMP (Zero Moment Point; explained later) within a prescribed range. Then, based on the thus determined desired body height, desired horizontal body position, desired body orientation and desired distal end positions/orientations of the legs, all joint angles are determined through an inverse kinematic solution.
However, since the determination or generation of desired body height determined in either of the conventional first and second methods does not take into account the influence which would be caused by the desired horizontal body position, desired body orientation and the desired distal end positions/orientations of the legs, a robot posture determined by the joint angles which are in turn determined from the above mentioned positions/orientations can not always satisfy the determined desired body height. For example, if the joint angles are determined such that the resulting distance between the leg distal end and the body exceeds, even for an instant, the total leg length, the desired body height will not be achieved even when the joints are controlled to stretch the leg to the full extent.
In order to avoid this, the conventional second method determines the function of the desired body height by repeating a trial and error procedure of computer simulation. However, locomotion or walking of a legged mobile robot includes a number of variations. For example, the gait may be different in environments such as on a horizontal plane, an incline, stairs, a curved path, etc. The gait may also differ with velocity and/or acceleration in the kinds of locomotion such as at the time of starting, walking at a low or high speed, and stopping. It is therefore quite difficult to determine the desired body height in advance through trial and error on computer simulation, even when the environment and the nature of locomotion are simplified or restricted to a limited range. Moreover, since the conventional methods can not always ensure that the robot posture defined by the joint angles determined will satisfy the determined body height over the entire course of locomotion, as mentioned earlier, the conventional methods fail to generate or determine a desired gait, more specifically the desired body height on a real-time basis during the locomotion.
In a third conventional method, it has been proposed to determine a desired horizontal body position, a desired body orientation and desired distal end positions/orientations of the legs beforehand, and the desired body height is determined within a maximum limit determined by the height at which at least one of the leg(s) is drawn to the full length, in other words, by the highest position that the robot can possibly take. This third method can always ensure a robot posture that satisfies the desired body height unless the horizontal distance between the leg distal end and the root of the body at which the leg is connected, is within the leg length.
However, this conventional third method is disadvantageous in that the vertical acceleration of body (vertical body motion in the direction of gravity) becomes discontinuous at the instant when both legs are stretched. In particular, if the robot is a biped robot, the body height trajectory is not smooth at the instant when both legs are stretched, resulting in a sharp vertical acceleration (displacement acceleration in a motion in the direction of gravity).